#ifndef _OCPP_ObliqueAnalyst_H_
#define _OCPP_ObliqueAnalyst_H_

#include "ObliqueTile.h"
#include <future>

namespace OCPP
{
	namespace Cesium
	{
		class _Osg2CesiumExport ObliqueAnalyst
		{
		public:
			ObliqueAnalyst();
			void analysis();
			void output();
			void from(String path);
			bool touch();
			
			ObliqueConfig& config() { return *_config.get(); }
			ObliqueTileVec& tiles() { return _obliqueTileVec; }
		protected:
			bool _error = false;
		private:
			void readMeta();
			void readSRS();
			void readTiles();
			void findTiles();
			std::shared_ptr<ObliqueConfig> _config;
			StringVector _tiles;
			ObliqueTileVec _obliqueTileVec;
		};
	}
}


#endif
